package com.hghivln.service;

import com.hghivln.pojo.domain.PurchaseItem;
import com.hghivln.pojo.domain.SimpleUser;
import com.hghivln.pojo.dto.PurchaseDto;
import com.hghivln.pojo.dto.PurchaseFormDto;
import com.hghivln.pojo.vo.AjaxResult;

import java.util.List;

public interface PurchaseService {

    /**
     * 分页查询所有的采购单数据
     */
    AjaxResult listPurchaseForPage(PurchaseDto purchaseDto);

    /**
     * 提交审核【根据采购单号】
     */
    AjaxResult doAudit(String purchaseId, SimpleUser simpleUser);

    /**
     * 作废
     */
    AjaxResult doInvalid(String purchaseId);

    /**
     * 审核通过【根据采购单号】
     */
    AjaxResult auditPass(String purchaseId);

    /**
     * 审核不通过【根据采购单号】
     */
    AjaxResult auditNoPass(String purchaseId,String auditMsg);

    /**
     * 根据采购单据ID查询采购详情信息
     */
    List<PurchaseItem> getPurchaseItemById(String purchaseId);

    /**
     * 暂存采购单信息
     */
    AjaxResult addPurchase(PurchaseFormDto purchaseFormDto);

    /**
     * 添加采购单并提交审核
     */
    AjaxResult addPurchaseToAudit(PurchaseFormDto purchaseFormDto);

    /**
     * 提交入库
     */
    AjaxResult doInventory(String purchaseId,SimpleUser simpleUser);


    /**
     * 根据采购单ID查询采购单信息和详情
     */
    AjaxResult selectPurchaseAndItemByPurchaseId(String purchaseId);
}
